1. Field of the Invention
This invention relates to a method of automatic frequency correction of a received radio signal in a digital mobile communications system.
2. Description of the Related Art
In a digital mobile communications system, such as a GSM (Global System For Mobile Communication) system, data is transferred, referring to FIG. 1, between a transmitter 10 and receiver 20 as a radio signal over a physical channel which may use frequency and/or time division multiplexing to create a sequence of radio frequency channels and time slots. Typically, every frequency band is divided into many time division multiple access (TDMA) frames, with eight users per frame, each user being allocated time to send a single burst of information. The precise frequencies used vary by country. The physical channel over which the signal is sent is unknown to receiver 20. FIG. 2 illustrates a representative structure of receiver 20 in which the burst 30 is received by antenna 35, the signal is amplified by amplifier 40, and passes through filters and mixers 50. The signal is then converted from an analog to digital by A/D converter 60.
In a GSM system, the data to be transferred, whether modulated by EDGE (Enhanced Data Rates for Global System For Mobile Communication Evolution), GMSK (Gaussian Minimum Shift Keying), or some other scheme, is formed into a burst containing a sequence of 156.25 complex symbols (each symbol having a real and imaginary part). 156.25 symbols is the number of symbols that, by definition, fit into a single timeslot for transmission by transmitter 10.
A normal burst 100 in a GSM system, as shown in FIG. 3, is comprised of six components: a first xe2x80x9ctail bitsxe2x80x9d field comprising three symbols 105, a first set of 58 symbols of encrypted data 110, a training sequence (or xe2x80x9cpilot symbolsxe2x80x9d) 120 of 26 symbols in length and known as a mid-amble because it comes between two data fields, a second set of 58 symbols of encrypted data 130, and a second xe2x80x9ctail bitsxe2x80x9d field 135 comprising three symbols (not shown), and a guard period 137 which is empty and extends for a period equivalent to 8.25 symbols. The size of these fields shown in FIG. 3 are not drawn to scale. In the GMSK modulation scheme, a symbol is equivalent to a bit so there are 148 bits in a burst. In the EDGE/8PSK modulation scheme, a symbol corresponds to three bits so there are 444 bits in a burst. See GSM 05.02 xc2xa75.2 Bursts (Digital Cellular Telecommunications System (Phase 2+); Multiplexing and Multiple Access on the Radio Path; Version 8.1.0 Release 1999). The training symbols are known to the receiver in advance of receiving the burst; the data symbols are not known to the receiver in advance.
In a digital mobile communications system, the frequency of a burst as it is received as a signal by receiver 20 frequently varies from the burst that is sent by a certain amount of xe2x80x9cfrequency offset.xe2x80x9d FIG. 4 illustrates the effect of a frequency offset. A signal 140 having a real part (represented by the x-axis) and an imaginary part (represented by the y-axis) is transmitted from point I to be received at point II. As is shown with specific regard to point A-E, while the real part of the signal remains constant, the phase of the signal changes relatively radically with time (represented by the z-axis). FIG. 5 illustrates the performance of a GSM system employing 8PSK modulation without any frequency correction which results in a high bit-error rate. On the x-axis is the signal-to-noise ratio in dB. The y-axis represents the bit-error rate. The curve labeled xe2x80x9c0 Hzxe2x80x9d shows the bit-error rate performance if the system is not disturbed by any frequency offset, as is the case in an ideal world. Clearly, in such a case, there is no need for frequency correction and the 0 Hz curve shows the best results that can be obtained in this system. The other four curves in FIG. 5 show the bit-error rate of the same system (without any frequency correction) if the system is subject to frequency offsets. Clearly, the bit-error rate becomes high for a frequency offset of 100 Hz or higher. For example, a frequency difference of 100 Hz in a GSM system causes the phase of a signal to change by almost 20 degrees during a burst.
Where the transmitted burst is a constant signal, that is, the transmitter 10 does not intentionally vary the phase of the transmitted signal, the receiver 20 observes a time-varying phase during the receipt of the signal at the receiver because of an undesired frequency offset, which must be accounted for and corrected at the receiver end of the system. This undesired frequency offset has two causes. One cause is the oscillators in the transmitter 10 and receiver 20 that usually do not have exactly the same frequency, although ideally these frequencies should be the same. Another cause of the frequency offset is movement of the receiver 20. As a receiver 20 moves toward the transmitter, the Doppler-effect will cause a frequency change. A speed of 100 km/h, for example, causes a frequency offset of about 100 Hz and a phase change of almost 20 degrees. Both causes of frequency offset can occur simultaneously and the effects can be cumulative.
The frequency offset presents a more significant problem in a communication system, particularly in a system, device or product which has a high sensitivity to frequency errors, such as the modulation scheme in the EDGE-GSM system where a phase change to the transmitted signal is intentionally introduced as a means of inserting desired information into the signal. The receiver 20 must be able to detect from the phase of the received signal the information bits that were transmitted. However, receiver 20 cannot distinguish between phase changes due to the transmitted information and phase changes introduced by the frequency offset. If receiver 20 ignores the presence of a frequency offset and treats the received signal as if there were no frequency offset, the transmitted message will be incorrectly detected at the receiver 20, which would analyze and interpret the phase changes introduced by the frequency offset as if they were intentionally inserted by the transmitter 10.
There must therefore be a method of accounting and compensating for the signal distortion caused by the frequency offset, especially in EDGE systems, where a cumulative phase rotation of as much as 40 degrees in our example can seriously affect performance. Because there is no way of measuring the frequency offset, the prior art describes a method of correcting the frequency offset by estimating the frequency offset at digital signal processor 70 (FIG. 2), as described below, based on the training symbols 120 from the received burst, which training symbols the receiver 20 knows before the burst is received. The unknown frequency offset xcfx86 of the received signal is modeled as a phase rotation ejxcfx86k introduced into the signal. Once the frequency offset xcfx86 is determined, the offset xcfx86 can be corrected and compensated for by back-rotating the signal over an angle xcfx86 using a prior art digital signal processor structure represented by FIG. 6.
The prior art estimator is based on the model of the received signal shown in FIG. 7. A burst x(k) is sent through a channel having impulse response (or xe2x80x9ctapxe2x80x9d) h(k) and received as signal z(k). The frequency offset xcfx86 is a function of the channel impulse response h(k) which the signal is transmitted, but because h(k) is unknown by receiver 20 h(k) is not provided and must be estimated. In addition to the modeling of phase rotation ejxcfx86k, the model of received signal z(k) also accounts for additive white noise w(k), which represents impairments caused by fading, multipath propagation, channel dispersion, additive noise, etc., that are introduced into the burst x(k) by things such as physical objects in the path of propagating radio waves. The frequency offset xcfx86 is thus modeled mathematically as:                                                         z              ⁡                              (                k                )                                      =                                                            (                                      x                    *                    h                                    )                                ⁢                                                      (                    k                    )                                    ·                                      ⅇ                                          j                      ⁢                                              xe2x80x83                                            ⁢                      ϕ                      ⁢                                              xe2x80x83                                            ⁢                      k                                                                                  +                              w                ⁡                                  (                  k                  )                                                              ⏟                .                            (        1        )            
This can be described in matrix notation as
z="PHgr"Xh+wxe2x80x83xe2x80x83(2)
                              where          ⁢                      xe2x80x83                    ⁢          Φ                =                  [                                                                      ⅇ                                      j                    ⁢                                          xe2x80x83                                        ⁢                    o                    ⁢                                          xe2x80x83                                        ⁢                    ϕ                                                                                                                                                                                                                                                                                                            ⅇ                                      j                    ⁢                                          xe2x80x83                                        ⁢                    o                    ⁢                                          xe2x80x83                                        ⁢                    ϕ                                                                                                                                                                                                                                                                                          ⋯                                                                                                                                                                                                                                                                          ⅇ                                                            j                      ⁡                                              (                                                  N                          -                          H                          +                          1                                                )                                                              ⁢                    ϕ                                                                                ]                                    (        3        )            
A linearization of ejxcfx86≈1+jxcfx86 is introduced to reduce the complexity of the mathematical expression making "PHgr"≅I+xcfx86R, which permits z to be restated as:
z=Xh+xcfx86RXh+wxe2x80x83xe2x80x83(4).
In equations (2) and (4), X is the (Nxe2x88x92H+1)xc3x97H Toeplitz convolution matrix where:                     X        =                  (                                                                      x                  H                                                                              x                                      H                    -                    1                                                                                                x                                      H                    -                    2                                                                              ⋯                                                                                                           x                  1                                                                                                      x                                      H                    +                    1                                                                                                x                  H                                                                              x                                      H                    -                    1                                                                              ⋯                                                                                                           x                  2                                                                                                      x                                      H                    +                    2                                                                                                x                                      H                    +                    1                                                                                                x                  H                                                            ⋯                                                                                                           x                  3                                                                                                      x                                      H                    +                    3                                                                                                x                                      H                    +                    2                                                                                                x                                      H                    +                    1                                                                              ⋯                                                                                                           x                  4                                                                                    ⋮                                            ⋮                                            ⋮                                                                                         ⋱                                            ⋮                                                                                      x                  N                                                                              x                                      N                    -                    1                                                                                                x                                      N                    -                    2                                                                              ⋯                                                                                                           x                                      N                    -                    H                    +                    1                                                                                )                                    (        5        )            
containing a portion xH . . . xN of the known transmitted training sequence x1 . . . xN, R is an (Nxe2x88x92H+1)xc3x97(Nxe2x88x92H+1) matrix:                     R        =                  j          ⁡                      [                                                            O                                                                                                                                                                                                                                                                                          1                                                                                                                                                                                                                                                                                          2                                                  ⋮                                                                                                                                                                                                                                                           (                                          n                      -                      H                      +                      1                                        )                                                                        ]                                              (        6        )            
h denotes an (Hxc3x971) vector containing the estimated channel taps:                     h        =                  [                                                                                                                                                                                                                            h                              1                                                                                                                                                            ⋮                                                                                                                                                                          ⋮                                                                                                                                            h                  H                                                              ]                                    (        7        )            
and wxcx9cN(0, "sgr"w2I) is the additive white Gaussian noise vector. In a typical implementation of the invention, the value of xe2x80x9cHxe2x80x9d is chosen as a fixed parameter. The length of the channel impulse response in the system determines the value of xe2x80x9cHxe2x80x9d. Typical values in a GSM system, for instance, are between 4and 7, as typical impulse responses have a length of 4 to 7 symbol intervals.
There are basically two possibilities to implement the value of the noise variance "sgr"w2 in the invention. The first possibility is to use a fixed value for this parameter which is chosen to reflect typical values of the noise variance in the system. (Typical signal-to-noise ratios in a wireless communication link fall between 0 and 10 dB. With a normalized signal in the receiver, typical values of the noise variance fall between 0.1 and 1.) The second possibility is, very much like the channel impulse response, to estimate the noise variance and use the estimated value in the proposed frequency offset estimator. The estimation of the noise variance is extensively described in the prior art and is known to one of ordinary skill in the art.
The convolution matrix X used in the prior art to compute z takes into account channel distortion in the transmission of the radio signal by adding in a weighted sum of the values of the Hxe2x88x921 symbols prior to symbol xH. This creates a smearing effect which would cause the estimate of the first Hxe2x88x921 symbols to be based on values that include the uncorrected and unknown values of data symbols 110 preceding the training symbols. Therefore, to eliminate smearing effects from the model, although x(k) is known for all symbols in the transmitted training sequence 120, the first Hxe2x88x921 symbols in z(k) are disregarded and the X matrix of equation (5) starts with xH rather than x1. For example, where H=5, if symbol x1 were included in matrix X, the value of z(k) would add to the model for computing frequency offset estimate xcfx86 unknown symbols x0, xxe2x88x921, xxe2x88x922, and xxe2x88x923.
The frequency offset estimate xcfx86 may be calculated either as a least-square (LS) estimate or as a linear minimum mean-squared error (LMMSE) estimate of xcfx86. The LS estimate is calculated by
{circumflex over (xcfx86)}LS=Re{(hHXHRHRXh)xe2x88x921hHXHRHz}xe2x80x83xe2x80x83(8)
and the LMMSE estimate of xcfx86 is calculated by                                           ϕ            ^                    MMSE                =                  Re          ⁢                      {                                          h                H                            ⁢                              X                H                            ⁢                                                                    R                    H                                    ⁡                                      (                                                                                            h                          H                                                ⁢                                                  X                          H                                                ⁢                                                  R                          H                                                ⁢                        RXh                                            +                                                                        σ                          w                          2                                                                          σ                          ϕ                          2                                                                                      )                                                                    -                  1                                            ⁢              z                        }                                              (        9        )            
where "sgr"xcfx862 is the variance of the unknown frequency offset, generally chosen as a fixed design parameter. The value of the variance "sgr"xcfx862 is fixed and is chosen to reflect typical values of the number of radians the received signal changes from one symbol to the next because of a frequency offset in the system. Typically, in a GSM system, a true frequency offset is 200-300 Hz and, therefore, a GSM signal changes about 2**250/270833 radians per symbol. A typical fixed value of "sgr"xcfx862 would thus be (2**250/270833)2. The value of "sgr"w2 is either estimated or also chosen as a fixed parameter, as described above.
The estimators of equations (8) and (9) assume that the channel taps h(k) at the receiver 20 are known. Since the channel vector h is not actually known, a channel estimator also operates on the received burst to determine a channel estimate which is inserted into equations (8) and (9). One method of estimating the channel is with the equation:
ĥLS=(XHX)xe2x88x921XHzxe2x80x83xe2x80x83(10)
In the frequency correction structure 135 of FIG. 6, the signal z(k) is received by receiver 20, after having been frequency offset, and is input at block 140 to a channel estimator 150 that calculates equation 10. The training sequence 120 is input to a frequency estimator 160 along with the computed channel estimate output from channel estimator 150, and the estimator 160 outputs an estimate of the frequency offset 165. Output 165 is input to a frequency corrector 170 shown in FIG. 7 along with the received signal z(k). The frequency corrector 170 corrects the frequency-offset data symbols 110, 130 by performing a back-rotation of exe2x88x92jxcfx86k as shown in FIG. 7, and output as the signal {circumflex over (z)} (k) to a detector 180 for further processing by receiver 20. The channel estimate ĥLS output from channel estimator 150 is also input to detector 180.
The performance of detector 180 in terms of bit error rate is dependent upon the accuracy of the estimated frequency offset compared to the actual frequency offset. It is therefore imperative that the estimated frequency offset be calculated as accurately as possible. However, utilizing the LS estimate xcfx86LS or the LMMSE estimate xcfx86MMSE based solely on the training sequence 120, may not provide a sufficiently accurate result. Therefore, it would be advantageous to have a method of achieving a more accurate frequency correction.
It is an object of this invention to provide a method of relatively accurately estimating and correcting for a frequency offset to enable a receiver to recognize information inserted into the frequency corrected signal as a phase shift.
In accordance with this objective, the present invention provides a method of automatically correcting the frequency of a received radio signal for the effects of a frequency offset of unknown value that may be introduced during the transmission of the signal over a digital mobile communications link. The frequency of the received radio signal, which comprises data symbols not known to the receiver and a training sequence which comprises a sequence of symbols that are known to the receiver, is corrected for the frequency offset in two stages. In the first stage, which is identical to the prior art method described above, a first estimate of the frequency offset is calculated using mathematical modeling which models the frequency offset as a signal rotation over an angle xcfx861. The model estimates the frequency offset based on at least a portion of the training sequence and an estimate of the channel impulse response over which the signal is transmitted.
The channel estimate provides information of how the signal would have been distorted if there were no frequency offset in the system. This information is important to the frequency estimator since the linear distortion caused by the channel impulse response is xe2x80x9cseparatedxe2x80x9d from the distortion caused by the frequency offset. The frequency offset estimator does not have to bother about the first distortion, but, by having an estimate of the channel impulse response, the second source of distortion caused by the frequency offset can be focused on and corrected. The estimated frequency offset is then used to correct the frequency of the data symbols and training sequence a first time by back-rotating the data symbols over the angle xcfx861.
The resulting correction of the frequency offset xcfx861 in this first stage is generally imperfect and somewhat coarse because it is based on an estimate of the offset of a limited number of symbols, i.e. a portion of the training symbols. The frequency corrected data symbols and training sequence have a remaining frequency offset that may or may not be significant. The frequency corrected data symbols and training sequence are therefore input to a second stage of the frequency correction to attempt to improve upon and fine tune the frequency correction to reverse as much of the frequency offset as possible. In this second stage, a second estimate of the frequency offset xcfx862 is calculated using mathematical modeling which models the frequency offset as a signal rotation over an angle xcfx862. The model estimates the frequency offset based on the training sequence and at least a portion of the data symbols, using in the calculations an estimate of the channel over which the signal is transmitted. The second estimated frequency offset xcfx862 is then used to correct the frequency of the data symbols and training sequence a second time by back-rotating the data symbols over the angle xcfx862. The frequency corrected signal corrected for frequency offset xcfx862 is output for detection and further processing.
Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. It should be further understood that the drawings are not necessarily drawn to scale and that, unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.